/*
    发送请求的 3个问题
    1、url 太长了，不方便开发的时候 编写代码，也不方便后期项目上线，切换接口
    2、很多的接口 ，都需要处理请求头中的 token，容易写错，不方便
    3、每一次发送请求的时候，自己显示加载，请求回来了，自己隐藏加载中的效果
     解决 jq的ajax一些方法
        $.ajaxPrefilter  拦截器
        ajaxStart()
        jQueryajaxComplete

 */


// 使用jq的ajax拦截器来解决
$.ajaxPrefilter(config => {
    // 在拦截器中 我们修改了config ，真是影响到 发送的代码 url 
    config.url = 'http://localhost:8080/api/v1' + config.url;

    // 设置 headers
    config.headers = {
        Authorization: getToken(),
    };
    let loadIndex   ;
    // 定义发送前
    config.beforeSend = function () {
        // 显示加载中
        loadIndex = layer.load(2);
    };
    config.complete = function () {
        // 关闭加载中
        layer.close(loadIndex);
    }
});

// 获取 token值
function getToken() {
    if (!localStorage.getItem("token")) {
        return sessionStorage.getItem('token');
    } else {
        return localStorage.getItem("token");
    };
};